RichTextBox for UWP
手順2:リソースファイルとコードの追加
チュートリアル > C1RichTextBox コンテンツの印刷 > 手順2:リソースファイルとコードの追加

前の手順では、アプリケーションを設定し、コントロールを追加しました。この手順では、必要なリソースファイルを追加し、印刷を制御するコードを追加します。この手順では、ComponentOne for UWP サンプル と共にインストールされたリソースファイルを追加します。

  1. ソリューションエクスプローラーでアプリケーション名を右クリックし、コンテキストメニューから[追加]→[新しいフォルダ]を選択します。新しいフォルダ名を Resources と指定し、[OK] をクリックします。
  2. Resources フォルダを右クリックし、コンテキストメニューから[追加]→[既存の項目]を選択します。サンプルの場所を参照し、dickens.htmRichTextBoxSamples\Resources フォルダから選択します。[OK]をクリックして、このファイルを Resources フォルダに追加します。
  3. ソリューションエクスプローラーで dickens.htm ファイルを選択し、[プロパティ]ウィンドウで、Build Action プロパティを[埋め込みリソース]に設定します。アプリケーションをリビルドします。
  4. アプリケーションのページを右クリックし、コンテキストメニューから[コードの表示]を選択します。MainPage.xaml.cs ページが表示されます。
  5. 次の名前空間をインポートします。

    C# コードの書き方

    C#
    コードのコピー
    using Windows.UI.Xaml.Printing;
    using C1.Xaml.RichTextBox;
    using Windows.UI.ViewManagement;
    using Windows.Graphics.Printing;
    using System.Reflection;
    using Windows.UI.Popups;
    
  6. 次のコードのように MainPage クラスを編集します。

    C# コードの書き方

    C#
    コードのコピー
    public sealed partial class MainPage : Page
        {
            /// <summary>
            /// PrintDocument は、ページの印刷を準備するために使用します。
            /// Paginate イベント、GetPreviewPage イベント、および AddPages イベントのハンドラで、印刷するページを準備します。
            /// </summary>
            protected PrintDocument printDocument = null;
            /// <summary>
            /// ドキュメントソースのマーカーインタフェース
            /// </summary>
            protected IPrintDocumentSource printDocumentSource = null;
            /// <summary>
            /// rtb ページの格納に使用する UIElement のリスト。
            /// </summary>
            internal List<FrameworkElement> pages = null;
            /// <summary>
            /// C1RichTextBox のドキュメントの印刷に使用します。
            /// </summary>
            C1RichTextViewManager viewManager;
    
  7. 次のコードのように MainPage() コンストラクタを編集します。GetManifestResourceStream() の "YourApplicationName" を実際のアプリケーション名に置き換えることを忘れないでください。

    C# コードの書き方

    C#
    コードのコピー
    public MainPage()
            {
                this.InitializeComponent();
    
                Assembly asm = typeof(MainPage).GetTypeInfo().Assembly;
                Stream stream = asm.GetManifestResourceStream("YourApplicationName.Resources.dickens.htm");
                var html = new StreamReader(stream).ReadToEnd();
                rtb.Html = html;
    
                pages = new List<FrameworkElement>();
                this.Loaded += Printing_Loaded;
                this.Unloaded += Printing_Unloaded;
            }
    

この手順では、Resources ファイルと、適切な既存の dickens.htm ファイルを追加しました。また、MainPage.xaml.cs ファイルにコードを追加しました。次の手順では、汎用の Button コントロールの Button_Click イベントと、MainPage() コンストラクタに追加した Printing イベントを処理する残りのコードを追加します。